Future capture of block matching clip

ABSTRACT

A method and apparatus for capturing future instances of a song or a television show or the like. Responsive to a user activating a trigger, typically during the middle of the song or show, the system stores a clip and thereafter begins to monitor one or more channels or stations, attempting to locate that clip, such as by using DSP techniques. Upon finding the clip, the beginning and ending points of the song or show are identified, and the song or show is saved. Hunting may continue, to find a best available version of the song or show, such as one having the best noise characteristics.

BACKGROUND OF THE INVENTION

[0001] 1. Technical Field of the Invention

[0002] The present invention relates generally to recording of media content.

[0003] 2. Background Art

[0004] Presently, if a user wishes to record a media content item in its entirety but the user did not begin recording at or before the start of the media content item, the user will need to take many steps at a future time to record it. The user will first need to ascertain an identification of the media content item, then identify a future time at which the media content item will be rebroadcast, then begin recording prior to the rebroadcast. In many instances, some or all of those steps can be difficult. Examples of media content items may include a song the user is hearing on a radio broadcast or a television program the user is watching on a television broadcast, or the like.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005] The invention will be understood more fully from the detailed description given below and from the accompanying drawings of embodiments of the invention which, however, should not be taken to limit the invention to the specific embodiments described, but are for explanation and understanding only.

[0006]FIG. 1 shows a block diagram representation of one embodiment of an apparatus of the invention.

[0007]FIG. 2 shows a flowchart representation of one embodiment of a method of the invention.

DETAILED DESCRIPTION

[0008] While the invention will, for the sake of simplicity and clarity, be explained in terms of an exemplary embodiment which is used to perform future capture of a song from a radio broadcast, the skilled reader will readily appreciate that the invention is not limited to this embodiment. Rather, the invention has applicability in a variety of embodiments and with a variety of media content types. The invention may be utilized in capturing media content items which have defined beginning and ending points, such as songs or television shows, but it may also be utilized in capturing arbitrary portions of a media stream lacking predetermined starting or ending points. The phrase “block” will be used herein to refer generically to both complete songs/shows/etc. and/or to portions or arbitrary segments of such, or to continuous streams of content.

[0009]FIG. 1 illustrates one embodiment of a system which utilizes the invention to perform future capture of a block from one or more incoming media streams (“stream”). The term “stream” should not be interpreted as necessarily meaning “streaming media”, but is intended to cover broadcasts and transmissions of all forms, whether they be carried over the airwaves, over cable or other wired system, or any other suitable communication mechanism. The system includes a receiver which receives the stream, perhaps more than one stream at a time from one or more communication mechanisms. The system includes an output device such as a speaker for presenting the stream to the user; the output device may in some embodiments be implemented integrally with the receiver and/or with the other portions of the system. In other embodiments, such as a car radio, the output device such as speakers may be implemented separately from the receiver and/or the future capture system.

[0010] The system includes a storage system, coupled to the receiver. The storage system includes storage for one or more clips (“clip storage”), one or more blocks (“block storage”), and one or more streams (“stream storage”). In one embodiment, these may be implemented as separate storage units of a same type or of different types. In another embodiment, one or more of them may be implemented as logically distinct units within a single actual storage device. Any suitable type of storage medium may be used, such as semiconductor memory, hard drive, CD-R or CD-RW, tape, or the like.

[0011] The system further includes a processing system, coupled to the storage system in one embodiment. In other embodiments, it may be coupled to the receiver and/or the storage system. The processing system may be constructed in hardware and/or software. It includes a clip manager and a block manager. In some embodiments, the clip manager and block manager may be distinct, while in other embodiments, they may be, for example, portions of the same software application.

[0012] Finally, the system includes a capture trigger. The capture trigger includes at least an input mechanism (not shown), and in some embodiments may further include an output mechanism (not shown).

[0013] The system may, in some embodiments, optionally have access to an external list source and/or a block source. The list source may be, for example, a play list on a radio station's website, identifying a list of songs that the radio station plays, and perhaps a list of times and dates when they have been played. The block source may be, for example, an on-line music retailer.

[0014]FIG. 2 illustrates one embodiment of a method of operation of the future capture system. Please make continued reference also to FIG. 1. The receiver receives (20) the media stream and outputs it for the user. In some embodiments, the system may also record the incoming media stream.

[0015] At some arbitrary time, the user takes some action to indicate a desire to capture the presently-playing song, such as by pressing a “Capture” button on the radio. The processing system receives (22) this input from the capture trigger, and its clip manager begins storing (24) a “clip” from the incoming media stream to the clip storage. In one mode, the clip store may store the clip itself, such as an analog-to-digital conversion of the clip. In other modes, the clip store may store some other representation of the clip, such as a cyclic redundancy check value of the clip, or a digital signal processing (DSP) representation of the clip, or some other representation which is suitable for future comparing against the media stream to locate a matching portion.

[0016] The reader will appreciate that a “matching” portion of the stream will not necessarily be a digitally exact equivalent of the clip. For example, the subsequent rebroadcast of the same block may be on a different station having different sound shaping characteristics, or it may be sent with different gain on the carrier signal, or it may be in a more or less noisy ambient enviromnent, and so forth. Well-known digital signal processing techniques are equipped to identify matches within a predetermined or controllable level of likelihood or tolerance.

[0017] In one embodiment, the user may control the length of the clip stored, such as by holding down the “Capture” button. In other embodiments, there may be a default length, such as ten seconds.

[0018] In some embodiments, the processing system may prompt (26) the user to enter one or more parameters concerning the clip, the block, and/or the stream. There are many possible parameters. By way of example only and not limitation, the user may indicate and the clip manager may receive (28):

[0019] estimated time into the block that the trigger was hit

[0020] length of possible block to watch for

[0021] suspected name of the song and/or album and/or artist

[0022] number and/or identity of radio stations to monitor for future capture of this song

[0023] number of instances to save for best-instance comparison

[0024] maximum allowable price

[0025] preferred source

[0026] song style

[0027] movie genre

[0028] etc.

[0029] The reader will appreciate that, in most embodiments, the receiving, storing, and outputting (20) does not end, but will be an ongoing process during the rest of the method of the invention.

[0030] The block manager compares (30) the clip against the incoming stream, attempting to determine whether the block is found in the stream. In some embodiments, this may be accomplished using conventional digital signal processing techniques. In some embodiments, the block manager may utilize a sliding “window” over the stored stream and, when the window moves ahead without finding a match against the clip, the already-analyzed portion of the stored stream may be discarded (32). The block manager may generate a DSP result, or a CRC value, or the like, based upon the contents of the window.

[0031] If, however, the clip is found in the window, the block manager will set about storing (34) the block. Typically, this may involve attempting to identify a starting point of the block. In the case of a radio broadcast, there may or may not be near silence at the beginning of the song. In the case of a television broadcast, the block manager may look for blank frames or it may estimate based upon the fact that most shows begin on half-hour times. The block manager may make its own determination, or it may prompt the user to identify the start or to validate the block manager's identification of the start. The same holds true for the end, as well. Ultimately, the block will be stored to the block storage.

[0032] In some embodiments, the block manager may continue hunting for further instances of that same block. The first instance found may be imperfect. For example, the radio station may have faded an immediately-previous song out as it was fading this song in. Or, the DJ may have been talking over the beginning of the song. Or, there may have been radio interference or other noise, and so forth.

[0033] The block manager compares (36) the new block against any previously-captured and stored instances of that block. If the new block is not better (as determined by the block manager or the user), the block manager may optionally discard (40) the new block. Otherwise, it may optionally discard (42) the previous instances of the block. Typically, it may be desirable to only store a then-best instance. In other cases, it may be desirable to store all instances, in case the user may wish to pick a best one at a later time or in better circumstances or using different equipment.

[0034] If (44) the block manager has been configured to continue looking for further instances, the method continues. Otherwise, the clip manager may optionally discard (46) the clip.

[0035] Back at decision (30), in some embodiments, upon finding the clip in the search window, the processing system may also optionally find (48) an identification of the currently-playing block from a list source. The list source will typically be an external source, but may be internal to the system. In some cases, identifying the block may include querying the radio station's website. The website may identify the currently-playing song, in which case the identification is complete, and the block manager may acquire (50) the block from a block source, such as an on-line retailer. In other cases, the website may only include a list of songs that are in rotation at this general time. In those cases, the block manager may have to acquire each of those from the block source until it finds one that matches the clip. Ideally, the block source would not charge for providing the non-matching blocks. Once the block is found, acquired, and stored, the clip and parameters may be discarded (54). In most instances, a block acquired from an external block source will be of sufficiently good quality that there may not be any need to continue (44) hunting for additional instances.

[0036] In some embodiments, the clip manager and block manager may be equipped to hunt for only a single clip/block at a time. In other embodiments, they may be equipped to hunt for multiple clips/blocks at a time. Clip comparison can be applied to every stream element sequentially or in parallel, looking for desired blocks.

[0037] In various embodiments, the apparatus may be embodied as a car radio, a radio or television for use in a home entertainment system, a cable/satellite set-top box, gaming console, or other suitable system or format.

[0038] Reference to “subsequent” does not necessarily mean “immediately following”.

[0039] Reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least some embodiments, but not necessarily all embodiments, of the invention. The various appearances “an embodiment,” “one embodiment,” or “some embodiments” are not necessarily all referring to the same embodiments.

[0040] If the specification states a component, feature, structure, or characteristic “may”, “might”, or “could” be included, that particular component, feature, structure, or characteristic is not required to be included. If the specification or claim refers to “a” or “an” element, that does not mean there is only one of the element. If the specification or claims refer to “an additional” element, that does not preclude there being more than one of the additional element.

[0041] Those skilled in the art having the benefit of this disclosure will appreciate that many other variations from the foregoing description and drawings may be made within the scope of the present invention. Indeed, the invention is not limited to the details described above. Rather, it is the following claims including any amendments thereto that define the scope of the invention. 

What is claimed is:
 1. A method comprising: storing a clip of a media stream at a first time; finding the clip in the media stream at second time later than the first time; and storing a first portion of the media stream greater than and including the clip.
 2. The method of claim 1 wherein the finding comprises: performing digital signal processing upon a window of the media stream to produce a DSP window result; performing digital signal processing upon the clip to produce a DSP clip result; and comparing the DSP window result to the DSP clip result.
 3. The method of claim 1 wherein the storing the portion comprises: identifying a start point of the first portion and an end point of the first portion from the media stream; and storing the media stream from the start point to the end point.
 4. The method of claim 1 further comprising: again finding the clip in the media stream; and storing another portion of the media stream greater than and including the clip.
 5. The method of claim 4 further comprising: comparing the first portion to the other portion; and discarding one of the portions, based on the comparison.
 6. The method of claim 1 wherein the media stream comprises audio.
 7. The method of claim 6 wherein the audio comprises broadcast radio.
 8. The method of claim 1 wherein the media stream comprises video.
 9. The method of claim 8 wherein the media stream comprises television.
 10. The method of claim 1 further comprising: receiving parameters, and wherein at least one of the finding and storing are responsive to the parameters.
 11. The method of claim 10 wherein the parameters comprise at least one of: an estimated time into the first portion that a trigger was activated; a length of possible block to watch for; a suspected identification of the first portion; a specification of one or more broadcast stations to monitor; a number of instances to save for best-instance comparison; a maximum allowable price; a preferred source; a song style; and a movie genre.
 12. The method of claim 1 further comprising: identifying a media content item corresponding to the clip; and obtaining the media content item from a source which is different than the media stream.
 13. The method of claim 12 wherein the source is an on-line retailer.
 14. An apparatus for playing a media stream, the apparatus comprising: a receiver for receiving the stream; a capture trigger; a storage system coupled to the receiver to store a clip of the media stream in response to the capture trigger; and a processing system coupled to the storage system to search for the clip in the media stream after storage of the clip.
 15. The apparatus of claim 14 further comprising: a block manager for storing a block of the media stream to the storage system, wherein the clip is a proper subset of the block.
 16. The apparatus of claim 15 wherein the media stream comprises a radio broadcast and the block comprises a song.
 17. The apparatus of claim 15 wherein the media stream comprises a television broadcast and the block comprises a television show.
 18. The apparatus of claim 15 wherein the receiver is coupled to receive the media stream over a wireless broadcast channel.
 19. The apparatus of claim 15 wherein the receiver is coupled to receive the media stream over a wired broadcast channel.
 20. The apparatus of claim 15 further comprising: an output device coupled to the receiver for playing the media stream.
 21. An apparatus comprising: a receiver for receiving a media stream; a storage system; a capture trigger; and a processing system including, a clip manager responsive to the capture trigger to store a first instance of a clip of the media stream to the storage system, a block manager responsive to at least one of the clip manager and the capture trigger to search for a second instance of the clip in the media stream and to store a first block of the media stream containing the second instance of the clip to the storage system.
 22. The apparatus of claim 21 further comprising: an output device for playing the media stream.
 23. The apparatus of claim 21 wherein the block manager is further responsive to search for a third instance of the clip in the media stream, to store a second block of the media stream containing the third instance of the clip to the storage system.
 24. The apparatus of claim 23 wherein the block manager is further responsive to compare the first block to the second block and to select a better of the blocks.
 25. The apparatus of claim 24 wherein the block manager is further responsive to discard one of the blocks which is not the better of the blocks.
 26. The apparatus of claim 23 wherein the block manager is adapted to play the first block and the second block and to accept from a user a selection of one of the blocks.
 27. The apparatus of claim 26 wherein the block manager is further adapted to discard one of the blocks in response to the user's selection.
 28. The apparatus of claim 21 wherein the processing system receives parameters of at least one of the clip and the first block from a user.
 29. The apparatus of claim 28 wherein the parameters comprise at least one of: an estimated time into the first block that the capture trigger was activated; a length of possible block to watch for; a suspected identification of the first block; a specification of one or more broadcast stations to monitor; a number of instances to save for best-instance comparison; a maximum allowable price; a preferred source; a song style; and a movie genre.
 30. The apparatus of claim 21 wherein the block manager comprises: means for finding an identification of the first block from a list source; and means for acquiring a second block containing a third instance of the clip from a block source.
 31. The apparatus of claim 30 wherein the list source is a radio station's website and the block source is an on-line music retailer.
 32. An improved radio having a receiver for receiving a radio broadcast, the wherein improvement comprises: a capture trigger for causing storage of a first clip of the radio broadcast; means for finding a second clip of the radio broadcast matching the first clip; and means for storing a first portion of the radio broadcast containing the second clip and more.
 33. The improved radio of claim 32 wherein the improvement further comprises: means for identifying a start and end of a song contained in the stored first portion of the radio broadcast; and means for storing the song.
 34. The improved radio of claim 33 wherein the improvement further comprises: the means for finding further for finding a third clip of the radio broadcast matching the first clip; the means for storing further for storing a second portion of the radio broadcast containing the third clip; the means for identifying a start and end further for identifying a start and end of a second instance of the song contained in the second portion of the radio broadcast; and the means for storing further for storing the second instance of the song.
 35. The improved radio of claim 34 wherein the improvement further comprises: means for selecting one of the song and the second instance of the song; and means, responsive to the means for selecting, for deleting one of the song and the second instance of the song.
 36. The improved radio of claim 35 wherein the improvement further comprises: means for prompting a user for at least one parameter of at least one of the clip and the song.
 37. The improved radio of claim 36 wherein the improvement further comprises: the at least one parameter comprising at least one of, an estimated time into the first block that the capture trigger was activated; a length of possible block to watch for; a suspected identification of the first block; a specification of one or more broadcast stations to monitor; a number of instances to save for best-instance comparison; a maximum allowable price; a preferred source; a song style; and a movie genre.
 38. The improved radio of claim 33 wherein the improvement further comprises: means for obtaining an identification of the song; and means for purchasing a second instance of the song from an external source per the identification.
 39. The improved radio of claim 32 wherein the improvement further comprises: the capture trigger comprising a button.
 40. The improved radio of claim 39 wherein the improvement further comprises: the radio being adapted for use in an automobile.
 41. A method of recording a media content item substantially in its entirety from its start to its end, wherein the media content item is being received from an external source as part of a transmission which may subsequently include a repeat of the media content item, the method comprising: during play of the media content item at a point after the start of the media content item, receiving a capture trigger; responsive to the capture trigger, recording a clip of the transmission; recording a first portion of the transmission subsequent to the clip; identifying a first segment of the recorded portion as being substantially similar to the clip; and identifying the repeat of the media content item within the first recorded portion.
 42. The method of claim 41 further comprising: retaining the repeat of the media content item in storage.
 43. The method of claim 42 further comprising: recording a second portion of the transmission subsequent to the repeat of the media content item; identifying a second segment of the second recorded portion as being substantially similar to the clip; and identifying a second repeat of the media content item within the second recorded portion.
 44. The method of claim 43 further comprising: retaining the second repeat of the media content item in storage.
 45. The method of claim 44 further comprising: discarding one of the repeat and the second repeat of the media content item.
 46. The method of claim 45 further comprising: receiving from a user a selection of one of the repeat and the second repeat; and the discarding being responsive to the selection.
 47. The method of claim 45 further comprising: automatically selecting a better of the repeat and second repeat; and the discarding being responsive to the automatically selecting, to discard the one of the repeat and the second repeat not selected as the better.
 48. The method of claim 41 wherein the identifying comprises: performing digital signal processing upon the clip and the recorded portion.
 49. The method of claim 41 further comprising: recording a second portion prior to the first portion; determining that the clip is not found in the second portion; and discarding the second portion.
 50. An entertainment device for use with a receiver that receives entertainment content from a media stream, the entertainment device comprising: (a) a capture trigger for identifying a clip of the entertainment content; (b) a storage system including, (i) a clip storage for storing the clip, (ii) a block storage for storing a block of the entertainment content, and (iii) a stream storage for storing portions of the entertainment content; and (c) a processing system for performing operations upon the entertainment content and including, (i) a clip manager responsive to the capture trigger for causing the clip storage to store the clip, and (ii) a block manager for locating, in the stream storage, a first portion of the entertainment content which contains a substantially similar copy of the clip, and for identifying a first block of the portion within the first portion and causing the block storage to store the first block.
 51. The entertainment device of claim 50 wherein: the processing system further includes a digital signal processor for performing operations to facilitate the locating and identifying.
 52. The entertainment device of claim 51 wherein: the block manager causes the stream storage to repeatedly store respective portions of the entertainment content subsequent to activation by a user of the capture trigger, and upon determining that a given portion of the respective portions does not contain a substantially similar copy of the clip, the block manager causes the stream storage to discard the given portion.
 53. The entertainment device of claim 52 wherein: the block manager is further for identifying one or more subsequent blocks which contain substantially similar copies of the clip, and for discarding at least one of the first block and subsequent blocks which is of lesser quality than another of the first block and subsequent blocks.
 54. The entertainment device of claim 52 wherein: the block manager utilizes a sliding window over the stream storage to hunt for the substantially similar copy of the clip.
 55. The entertainment device of claim 50 wherein the entertainment device comprises a radio recorder.
 56. The entertainment device of claim 50 wherein the entertainment device comprises a television recorder. 